﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ZeroFFmpeg.Enums
{
    /// <summary>
    /// 设置缩放器标志。用于设置缩放算法值
    /// </summary>
    public enum SwsFlags
    {
        /// <summary>
        /// 选择快速双线性缩放算法
        /// </summary>
        [Description("fast_bilinear")]
        FastBilinear,

        /// <summary>
        /// 选择双线性缩放算法
        /// </summary>
        [Description("bilinear")]
        Bilinear,

        /// <summary>
        /// 选择双三次缩放算​​法
        /// </summary>
        [Description("bicubic")]
        Bicubic,

        /// <summary>
        /// 选择实验缩放算法
        /// </summary>
        [Description("experimental")]
        Experimental,

        /// <summary>
        /// 选择最近邻缩放算法
        /// </summary>
        [Description("neighbor")]
        Neighbor,

        /// <summary>
        /// 选择平均区域缩放算法
        /// </summary>
        [Description("area")]
        Area,

        /// <summary>
        /// 为亮度分量选择双三次缩放算​​法，为色度分量选择双线性算法
        /// </summary>
        [Description("bicublin")]
        Bicublin,

        /// <summary>
        /// 选择高斯缩放算法
        /// </summary>
        [Description("gauss")]
        Gauss,

        /// <summary>
        /// 选择 sinc 重新缩放算法
        /// </summary>
        [Description("sinc")]
        Sinc,

        /// <summary>
        /// 选择 Lanczos 缩放算法。默认宽度 (alpha) 为 3，可以通过设置更改param0
        /// </summary>
        [Description("lanczos")]
        Lanczos,

        /// <summary>
        /// 选择自然双三次样条重缩放算法
        /// </summary>
        [Description("spline")]
        Spline,

        /// <summary>
        /// 启用打印/调试日志记录
        /// </summary>
        [Description("print_info")]
        PrintInfo,

        /// <summary>
        /// 启用精确舍入
        /// </summary>
        [Description("accurate_rnd")]
        AccurateRounding,

        /// <summary>
        /// 启用全色度插值
        /// </summary>
        [Description("full_chroma_int")]
        FullChromaInterpolation,

        /// <summary>
        /// 选择全色度输入
        /// </summary>
        [Description("full_chroma_inp")]
        FullChromaInput,

        /// <summary>
        /// 启用位精确输出
        /// </summary>
        [Description("bitexact")]
        BitExact
    }
}
